package soccerBet.project.objects;
// Generated 22/Dez/2013 22:11:24 by Hibernate Tools 3.2.2.GA


import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Jogo generated by hbm2java
 */
@Entity
@Table(name="jogo"
)
public class Jogo  implements java.io.Serializable {


     private int idJogo;
     private Equipa equipaByIdEquipaFora;
     private Jornada jornada;
     private Equipa equipaByIdEquipaCasa;
     private String date;
     private Date data;
     private Set<Estatisticas> estatisticases = new HashSet<Estatisticas>(0);
     private Set<MapeamentoMercados> mapeamentoMercadoses = new HashSet<MapeamentoMercados>(0);

    public Jogo() {
    }

	
    public Jogo(int idJogo, Equipa equipaByIdEquipaFora, Jornada jornada, Equipa equipaByIdEquipaCasa) {
        this.idJogo = idJogo;
        this.equipaByIdEquipaFora = equipaByIdEquipaFora;
        this.jornada = jornada;
        this.equipaByIdEquipaCasa = equipaByIdEquipaCasa;
    }
    
    public Jogo(int idJogo, Equipa equipaByIdEquipaFora, Jornada jornada, Equipa equipaByIdEquipaCasa, String date) {
        this.idJogo = idJogo;
        this.equipaByIdEquipaFora = equipaByIdEquipaFora;
        this.jornada = jornada;
        this.equipaByIdEquipaCasa = equipaByIdEquipaCasa;
        this.date = date;
    }
    
    public Jogo(int idJogo, Equipa equipaByIdEquipaFora, Jornada jornada, Equipa equipaByIdEquipaCasa, String date,Date data) {
        this.idJogo = idJogo;
        this.equipaByIdEquipaFora = equipaByIdEquipaFora;
        this.jornada = jornada;
        this.equipaByIdEquipaCasa = equipaByIdEquipaCasa;
        this.date = date;
        this.data = data;
    }
    
    public Jogo(int idJogo, Equipa equipaByIdEquipaFora, Jornada jornada, Equipa equipaByIdEquipaCasa, String date, Date data, Set<Estatisticas> estatisticases, Set<MapeamentoMercados> mapeamentoMercadoses) {
       this.idJogo = idJogo;
       this.equipaByIdEquipaFora = equipaByIdEquipaFora;
       this.jornada = jornada;
       this.equipaByIdEquipaCasa = equipaByIdEquipaCasa;
       this.date = date;
       this.data = data;
       this.estatisticases = estatisticases;
       this.mapeamentoMercadoses = mapeamentoMercadoses;
    }
   
     @Id 
    
    @Column(name="idJogo", unique=true, nullable=false)
    public int getIdJogo() {
        return this.idJogo;
    }
    
    public void setIdJogo(int idJogo) {
        this.idJogo = idJogo;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="idEquipa_Fora", nullable=false)
    public Equipa getEquipaByIdEquipaFora() {
        return this.equipaByIdEquipaFora;
    }
    
    public void setEquipaByIdEquipaFora(Equipa equipaByIdEquipaFora) {
        this.equipaByIdEquipaFora = equipaByIdEquipaFora;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="idJornada", nullable=false)
    public Jornada getJornada() {
        return this.jornada;
    }
    
    public void setJornada(Jornada jornada) {
        this.jornada = jornada;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="idEquipa_casa", nullable=false)
    public Equipa getEquipaByIdEquipaCasa() {
        return this.equipaByIdEquipaCasa;
    }
    
    public void setEquipaByIdEquipaCasa(Equipa equipaByIdEquipaCasa) {
        this.equipaByIdEquipaCasa = equipaByIdEquipaCasa;
    }
    
    @Column(name="date", length=45)
    public String getDate() {
        return this.date;
    }
    
    public void setDate(String date) {
        this.date = date;
    }
    @Temporal(TemporalType.TIMESTAMP)
    @Column(name="data", length=19)
    public Date getData() {
        return this.data;
    }
    
    public void setData(Date data) {
        this.data = data;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="jogo")
    public Set<Estatisticas> getEstatisticases() {
        return this.estatisticases;
    }
    
    public void setEstatisticases(Set<Estatisticas> estatisticases) {
        this.estatisticases = estatisticases;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="jogo")
    public Set<MapeamentoMercados> getMapeamentoMercadoses() {
        return this.mapeamentoMercadoses;
    }
    
    public void setMapeamentoMercadoses(Set<MapeamentoMercados> mapeamentoMercadoses) {
        this.mapeamentoMercadoses = mapeamentoMercadoses;
    }




}


